Creating and maintaining knowledge bases that are used for various projects can be a time consuming task. In the past, a great deal of human effort has been required to create and maintain knowledge bases in terms of developing, debugging and maintaining such knowledge bases. Errors that present themselves in a knowledge base can often cascade or grow when such knowledge bases are deployed and used by various applications. Thus, an important consideration in knowledge base development concerns accurately developing and deploying the knowledge base.